1. Field of the Invention
This invention relates in general to data storage and processing, and more particularly to distributed storage servers.
2. Description of Related Art
The implementation of new technology in magnetic tape products has meant that the density of data written to tape has increased by orders of magnitude in the last ten or fifteen years. The ability to record high density tapes, e.g., ten gigabytes or more on one physical volume, has led to reducing costs in physical tape hardware as well as in handling and management resources.
However, over the past five years, tape data set stacking products, i.e., software solutions to increase tape utilization, have evolved in response to the customer requirement for more efficient ways to manage the information stored on tape. To achieve increased capacity enablement, a virtual tape server (VTS) has been proposed. In a VTS, the hardware is transparent to the host and the user. The VTS requires little external management except though the library management element of the tape library into which a VTS is integrated.
In a hierarchical storage systems, such as a VTS, intensively used and frequently accessed data is stored in fast but expensive memory. One example of a fast memory is a direct access storage device (DASD). In contrast, less frequently accessed data is stored in less expensive but slower memory. Examples of slower memory are tape drives and disk drive arrays. The goal of the hierarchy is to obtain moderately priced, high-capacity storage while maintaining high-speed access to the stored information.
In the VTS system, a host data interface, a DASD, and a number of tape devices are provided. When the host writes a logical volume, or a file, to the VTS, the data is stored as a resident file on the DASD. Although the DASD provides quick access to this data, it will eventually reach full capacity and a backup or secondary storage system will be needed. An IBM 3590 tape cartridge is one example of a tape device that could be used as a backup or secondary storage system.
When the DASD fills to a predetermined threshold, the logical volume data for a selected logical volume, typically the oldest, is removed from the DASD to free space for more logical volumes. The selected DASD file is then appended onto a tape cartridge, or a physical volume, with the original left on the DASD for possible cache hits. When a DASD file has been appended to a tape cartridge and the original remains on the DASD, the file is "premigrated".
When the host reads a logical volume from the VTS, a cache hit occurs if the logical volume currently resides on the DASD. If the logical volume is not on the DASD, the storage manager determines which of the physical tape volumes contains the logical volume. The corresponding physical volume is then mounted on one of the tape devices, and the data for the logical volume is transferred back to the DASD from the tape.
Tape servers may use an engine to move data between the DASD and tape drives in a virtual tape server (VTS) environment. For example, the IBM Virtual Tape Server (VTS) uses the IBM Adstar Distributed Storage Manager (ADSM) as its engine to move data between the DASD and IBM 3590 tape drives on the VTS. In such a system, the VTS uses the a storage manager client on the DASD, e.g., the ADSM Hierarchical Storage Manager (HSM) client, and a distributed storage manager server attached to the tape drives to provide this function.
However, from time to time the storage manager client and the distributed storage manager server must be reconciled to synchronize their databases and expire files on the server. While reconcile is occurring, the storage manager client's auto-migration process is prevented from migrating files and freeing space on the DASD. Under certain conditions, the VTS can fill the remaining space on the DASD in less time than the reconcile takes, leading to a full DASD and a failure of the VTS.
Further, to open, read, write, and close files on the DASD, the VTS uses file functions, such as AIX file functions. The storage manager client function intercepts these file functions, performns the necessary operations, and returns any error codes to the VTS. However, for various VTS processes, a more efficient method of getting information on premigrated files on the DASD is required.
It can be seen that there is a need for a method for automatically reconciling the client and server databases and actively management the files stored in the cache.
It can also be seen that there is a need for a method that monitors free space on a DASD so that a VTS is allowed to fill the DASD with data during a reconcile process.
It can also be seen that there is a need for an active cache filename management scheme that improved VTS performance by obtaining information on premigrated files thereby eliminating usage of a premigration candidate list.